{
 "cells": [
  {
   "cell_type": "code",
   "id": "initial_id",
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2025-05-13T14:25:38.289782Z",
     "start_time": "2025-05-13T14:15:52.202387Z"
    }
   },
   "source": [
    "import numpy as np\n",
    "from CNNModel import CNN\n",
    "import matplotlib.pyplot as plt\n",
    "import time\n",
    "from sklearn.datasets import fetch_openml\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import LabelEncoder\n",
    "\n",
    "# 设置中文显示\n",
    "import matplotlib as mpl\n",
    "\n",
    "plt.rcParams[\"font.sans-serif\"] = [\"SimHei\"]  # 设置中文字体为黑体\n",
    "plt.rcParams[\"axes.unicode_minus\"] = False  # 解决负号显示问题\n",
    "\n",
    "\n",
    "def load_mnist_dataset(sample_size=1000):\n",
    "    \"\"\"\n",
    "    加载MNIST数据集\n",
    "\n",
    "    参数:\n",
    "    sample_size -- 如果提供，限制数据集大小为指定值\n",
    "\n",
    "    返回:\n",
    "    X_train, X_test, y_train, y_test -- 训练集和测试集\n",
    "    \"\"\"\n",
    "    print(\"正在加载MNIST数据集...\")\n",
    "    # 从OpenML加载MNIST数据集\n",
    "    X, y = fetch_openml(\"mnist_784\", version=1, return_X_y=True, as_frame=False)\n",
    "\n",
    "    # 将数据限制到指定大小\n",
    "    if sample_size and sample_size < len(X):\n",
    "        X = X[:sample_size]\n",
    "        y = y[:sample_size]\n",
    "\n",
    "    # 标准化数据\n",
    "    X = X / 255.0\n",
    "\n",
    "    # 将标签从字符转为整数\n",
    "    label_encoder = LabelEncoder()\n",
    "    y = label_encoder.fit_transform(y)\n",
    "\n",
    "    # 重塑数据为 (样本数, 通道数, 高度, 宽度)\n",
    "    X = X.reshape(-1, 1, 28, 28)\n",
    "\n",
    "    # 分割为训练集和测试集\n",
    "    X_train, X_test, y_train, y_test = train_test_split(\n",
    "        X, y, test_size=0.2, random_state=42\n",
    "    )\n",
    "\n",
    "    print(f\"数据加载完成：{X_train.shape[0]} 个训练样本，{X_test.shape[0]} 个测试样本\")\n",
    "    return X_train, X_test, y_train, y_test\n",
    "\n",
    "\n",
    "def evaluate_model(model, X_test, y_test, batch_size=32):\n",
    "    \"\"\"\n",
    "    评估模型在测试集上的表现\n",
    "\n",
    "    参数:\n",
    "    model -- CNN模型实例\n",
    "    X_test -- 测试数据\n",
    "    y_test -- 测试标签\n",
    "    batch_size -- 批量大小\n",
    "\n",
    "    返回:\n",
    "    accuracy -- 准确率\n",
    "    \"\"\"\n",
    "    num_samples = X_test.shape[0]\n",
    "    correct = 0\n",
    "\n",
    "    # 分批进行预测以处理大型数据集\n",
    "    for i in range(0, num_samples, batch_size):\n",
    "        end = min(i + batch_size, num_samples)\n",
    "        X_batch = X_test[i:end]\n",
    "        y_batch = y_test[i:end]\n",
    "\n",
    "        # 获取预测结果\n",
    "        predictions = model.predict(X_batch)\n",
    "\n",
    "        # 计算准确的预测数量\n",
    "        correct += np.sum(predictions == y_batch)\n",
    "\n",
    "    # 计算准确率\n",
    "    accuracy = correct / num_samples\n",
    "    return accuracy\n",
    "\n",
    "\n",
    "def visualize_results(losses, accuracies, save_path=None):\n",
    "    \"\"\"\n",
    "    可视化训练结果\n",
    "\n",
    "    参数:\n",
    "    losses -- 每个epoch的损失列表\n",
    "    accuracies -- 每个epoch的准确率列表\n",
    "    save_path -- 保存图像的路径，如果是None则显示图像\n",
    "    \"\"\"\n",
    "    epochs = range(1, len(losses) + 1)\n",
    "\n",
    "    plt.figure(figsize=(12, 5))\n",
    "\n",
    "    # 绘制损失曲线\n",
    "    plt.subplot(1, 2, 1)\n",
    "    plt.plot(epochs, losses, \"b-\", label=\"训练损失\")\n",
    "    plt.title(\"训练损失\")\n",
    "    plt.xlabel(\"Epochs\")\n",
    "    plt.ylabel(\"损失\")\n",
    "    plt.legend()\n",
    "\n",
    "    # 绘制准确率曲线\n",
    "    plt.subplot(1, 2, 2)\n",
    "    plt.plot(epochs, accuracies, \"r-\", label=\"测试准确率\")\n",
    "    plt.title(\"测试准确率\")\n",
    "    plt.xlabel(\"Epochs\")\n",
    "    plt.ylabel(\"准确率\")\n",
    "    plt.legend()\n",
    "\n",
    "    plt.tight_layout()\n",
    "\n",
    "    if save_path:\n",
    "        plt.savefig(save_path)\n",
    "    else:\n",
    "        plt.show()\n",
    "\n",
    "\n",
    "def visualize_predictions(model, X_test, y_test, num_samples=5):\n",
    "    \"\"\"\n",
    "    可视化预测结果\n",
    "\n",
    "    参数:\n",
    "    model -- CNN模型实例\n",
    "    X_test -- 测试数据\n",
    "    y_test -- 测试标签\n",
    "    num_samples -- 显示样本数量\n",
    "    \"\"\"\n",
    "    # 随机选择样本\n",
    "    indices = np.random.choice(len(X_test), num_samples, replace=False)\n",
    "\n",
    "    plt.figure(figsize=(15, 3))\n",
    "\n",
    "    for i, idx in enumerate(indices):\n",
    "        # 获取样本\n",
    "        image = X_test[idx, 0]  # 取出第一个通道\n",
    "        true_label = y_test[idx]\n",
    "\n",
    "        # 获取预测\n",
    "        prediction = model.predict(X_test[idx : idx + 1])[0]\n",
    "\n",
    "        # 显示图像和标签\n",
    "        plt.subplot(1, num_samples, i + 1)\n",
    "        plt.imshow(image, cmap=\"gray\")\n",
    "        plt.title(f\"预测: {prediction}\\n真实: {true_label}\")\n",
    "        plt.axis(\"off\")\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "def main():\n",
    "    # 加载数据集（使用合适大小的样本以平衡速度和效果）\n",
    "    X_train, X_test, y_train, y_test = load_mnist_dataset(sample_size=1000)\n",
    "\n",
    "    # 设置训练参数\n",
    "    batch_size = 32  # 更小的批量大小\n",
    "    epochs = 3  # 减少轮次\n",
    "    learning_rate = 0.01\n",
    "\n",
    "    # 初始化CNN模型\n",
    "    input_shape = (1, 28, 28)  # 单通道，28x28像素\n",
    "    num_classes = 10  # MNIST有10个类别（数字0-9）\n",
    "    model = CNN(input_shape=input_shape, num_classes=num_classes)\n",
    "\n",
    "    print(\"开始训练模型...\")\n",
    "    start_time = time.time()\n",
    "\n",
    "    # 训练模型并记录损失和准确率\n",
    "    losses = []\n",
    "    accuracies = []\n",
    "\n",
    "    for epoch in range(epochs):\n",
    "        # 训练一个epoch\n",
    "        print(f\"Epoch {epoch+1}/{epochs} 训练中...\")\n",
    "        num_samples = X_train.shape[0]\n",
    "        total_loss = 0\n",
    "\n",
    "        # 打乱数据\n",
    "        indices = np.random.permutation(num_samples)\n",
    "        X_shuffled = X_train[indices]\n",
    "        y_shuffled = y_train[indices]\n",
    "\n",
    "        # 批量训练\n",
    "        for i in range(0, num_samples, batch_size):\n",
    "            end = min(i + batch_size, num_samples)\n",
    "            X_batch = X_shuffled[i:end]\n",
    "            y_batch = y_shuffled[i:end]\n",
    "\n",
    "            # 前向传播计算损失\n",
    "            loss = model.forward(X_batch, y_batch)\n",
    "            total_loss += loss\n",
    "\n",
    "            # 反向传播更新参数\n",
    "            model.backward(learning_rate)\n",
    "\n",
    "            # 只打印部分进度以减少输出\n",
    "            if (i // batch_size) % 5 == 0:\n",
    "                print(\n",
    "                    f\"Batch {i//batch_size+1}/{num_samples//batch_size+1}, Loss: {loss:.4f}\"\n",
    "                )\n",
    "\n",
    "        # 计算平均损失\n",
    "        avg_loss = total_loss / (num_samples // batch_size)\n",
    "        losses.append(avg_loss)\n",
    "\n",
    "        # 评估模型\n",
    "        accuracy = evaluate_model(model, X_test, y_test, batch_size)\n",
    "        accuracies.append(accuracy)\n",
    "\n",
    "        print(\n",
    "            f\"Epoch {epoch+1}/{epochs}, Loss: {avg_loss:.4f}, Accuracy: {accuracy:.4f}\"\n",
    "        )\n",
    "\n",
    "    # 计算总训练时间\n",
    "    training_time = time.time() - start_time\n",
    "    print(f\"训练完成！总时间: {training_time:.2f} 秒\")\n",
    "\n",
    "    # 最终评估\n",
    "    final_accuracy = evaluate_model(model, X_test, y_test, batch_size)\n",
    "    print(f\"最终测试准确率: {final_accuracy:.4f}\")\n",
    "\n",
    "    # 可视化训练结果\n",
    "    visualize_results(losses, accuracies)\n",
    "\n",
    "    # 可视化预测结果\n",
    "    visualize_predictions(model, X_test, y_test)\n",
    "\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    main()"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "正在加载MNIST数据集...\n",
      "数据加载完成：800 个训练样本，200 个测试样本\n",
      "开始训练模型...\n",
      "Epoch 1/3 训练中...\n",
      "Batch 1/26, Loss: 2.3026\n",
      "Batch 6/26, Loss: 2.3026\n",
      "Batch 11/26, Loss: 2.3026\n",
      "Batch 16/26, Loss: 2.3022\n",
      "Batch 21/26, Loss: 2.3023\n",
      "Epoch 1/3, Loss: 2.3026, Accuracy: 0.1000\n",
      "Epoch 2/3 训练中...\n",
      "Batch 1/26, Loss: 2.3026\n",
      "Batch 6/26, Loss: 2.3018\n",
      "Batch 11/26, Loss: 2.3021\n",
      "Batch 16/26, Loss: 2.3018\n",
      "Batch 21/26, Loss: 2.3030\n",
      "Epoch 2/3, Loss: 2.3023, Accuracy: 0.1000\n",
      "Epoch 3/3 训练中...\n",
      "Batch 1/26, Loss: 2.3021\n",
      "Batch 6/26, Loss: 2.3024\n",
      "Batch 11/26, Loss: 2.3023\n",
      "Batch 16/26, Loss: 2.3023\n",
      "Batch 21/26, Loss: 2.3016\n",
      "Epoch 3/3, Loss: 2.3019, Accuracy: 0.1000\n",
      "训练完成！总时间: 555.19 秒\n",
      "最终测试准确率: 0.1000\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1200x500 with 2 Axes>"
      ],
      "image/png": "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nTvH0qVLeeutt5Kde2d4IMAnn3yCl5cXf//9N6+99hqrV69O9iDYqVMn/P39bft3jn3//fe8//775MuXDw8PDzw8PChTpgzx8fG4urraXnvmmWdwcXFh8eLFj//mRURE5L/LRA8/uXLlYuTIkTg4OJCUlMT169dtvaQe9QOX2WymXr16XL16lfDwcMLCwmjUqBFHjhx5aJu3336b5557jqFDhwLWnuehoaEMGDCArl27cubMGS5cuEDx4sUB6NevH9euXaNChQp069YNFxcXHBwciI+Pp1OnTrz77rv88ssv1KhRgzlz5tjuc+3aNUaOHEmLFi04dOgQy5Yt4/r16zRs2JCpU6fi4+PD2bNnGTBgAG+88QbR0dGP9bk9Dg3fy6CKFYPffrMO45s61Tqkb9cuWLECihQxujoREUkrJlOqe5FnOP/88w8lSpR46PGAgAACAgLYs2cPMTEx/Prrr9y+fZvq1asD1jCqZMmSxMbGMnToUPr370+HDh3o3bs3AwYMoGTJktjZ2ZGYmGi7ZlRUFFWrVrXt33kg7NGjBz169Eh2/969e7N+/XpKlSrF9u3bk4VbIiIiYpBM9vAzaNAgSpcuTXR0NMHBwRQsWBCwPsdYLJYUw6m755xydnamdOnSJCYmEhQUZJvk/I6QkBB++uknZs6caXutdevWODo6cunSJRISEggMDOTWrVts376dYsWK8e6771K6dGmuXbuW7FqxsbGsWLHivuF7d1y4cIHdu3ezZ88egoODyZcvHxUrVmTo0KFs3LiRvHnzEhcXx549e/jhhx9sC808DeoplYE5OsIXX8Dq1eDmZg2lqlaFjRuNrkxERLKzn376iePHj2M2m22/1N0rPDyctm3bkpCQwPPPP0+VKlVo2bIlly9fZvv27QQHB+Po6Mjx48cJCAigf//+AJQvX54CBQoku5aDgwNubm7cvn2bkydPUq1aNQCKFi36wPkWAH7//XdWr17N3r17iYqK4sMPP0wWbomIiIg8ypUrV1izZg1du3Zlx44dHDp0iOrVq1OmTBk2bdpEQkKCrbf3vcLCwvjwww+TvWYymahfvz7btm0DSLaIy+TJk3nzzTeTTTvw448/cvDgQfr06cOrr77KkSNHCAkJodj/TTxdo0YNPD0977v3tWvX6N69O4MGDWLbtm00btw42TxWpUuXZvPmzXh4eFCnTh3mz59Px44dcXR0pHr16syaNQtfX19cXFzo1KnTQ99jWlBPqUygXTuoUgU6dLAO63v5ZRgxAj79FLSitYiIpBeLxcK6devYunUrzZo1o23btrbeR/eujOfm5sbMmTMpWrQoVapUsU3K6efnx19//cUvv/wCWMOjLl268Ndff5EvX74H3rdXr14ADBkyhJo1a/Lrr79y4MABpk6diru7+33nb9iwgW7durF06VIKFy7MTz/9RMuWLWncuDGff/75A1f9ExEREbnX5MmTefXVV3nuueeIiYlhwYIFDB48mEqVKvH7779Tr149li5dSlBQULJ2SUlJtGrViq5duxIcHIzFYqFr1640a9aMt99+m88++4w333yTtm3b8uOPP3L69Gnmzp2b4tC+OxISEoiPj0/We2nRokVs2rSJy5cvc/36dUJDQ7lw4QIHDx58YE+pV155hdOnTyf7cS86OporV65QpUqVZPdLTEykbt26yYb/pSVFGplEiRLw++8waBB8/TWMH2/dX74c/q/3oIiIyFMVEhJCWFgYX3/9Ne3atWPXrl2A9WGlfv36gHXFu8TEROLj4/Hy8mLHjh189NFHHDt2jH79+rFq1SoCAwMBa8jVsGFDWrVqRbdu3diwYQMRERH88ssvHDp0iLZt25KUlMSff/7JhAkT+Ouvv9i+fTsA27Zto0yZMnz22We888472NnZ8eeff+Lv78+2bdtYtmwZzZs3B8DT05PffvuNjz76iAYNGlC1alVGjhxJ27ZtDfgURUREJDM4dOgQ06ZN488//wTgs88+o0iRInzwwQdcv36dTp06sXfvXry8vPjrr79s7e7M+zR58mQSEhKoW7cuPXv2xNvbm6ZNm5I7d24GDRrEu+++yx9//IGzszOHDh2iTZs2lCpVynadxMREKlSokGz6gUWLFpGYmEiBAgU4e/YsYA2punXrhr+/P507d2bevHk0bdoUDw+PZO/n7snPNz5g+NXBgwfx8fHh4MGDafL5pZaG72Uizs4wY4Z1XqncuWHnTmsPqi1bjK5MRESyAzs7O7799lvOnDlDr169bHMh2Nvbs2PHDsA6h0FcXBzbtm2jRYsWnD17lrFjx7Jx40bmzp3LL7/8QnBwMO+//76tl9Pnn3/OyZMnOXnyJLly5WL+/Pm0aNGCl19+mYULF9K0aVOKFSvGn3/+iZeXF15e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zBhITDS6MhERERERERF5GhRKSYZRujTs2QPvvAMWC3zyiTWcunTJ6MpEREREREREJK0plJIMJUcOmDPHuhqfiwts22ZdnW/7dqMrExEREREREZG0pFBKMqTXX7cO56tQwdpTqlkz+OwzSEoyujIRERERERERSQsKpSTDKlcO9u2D7t2tYdSoUdCypXXOKRERERERERHJ3BRKSYbm4gILFsDChdahfb/8Yh3OFxhodGUiIiIiIiIi8l8olJJMoVs3a6+psmXh/Hlo3Bg+/1zD+UREREREREQyK4VSkmlUrAh//AFdu0JiIgwfDr6+cO2a0ZWJiIiIiIiIyONSKCWZSq5c1pX55swBJyf4+WfrcL7du42uTEREREREREQeh0IpyXRMJnjnHdi7F0qVgrNnoWFDmDIFLBajqxMRERERERGR1FAoJZnW88/D/v3w2muQkACDBkHbtnDjhtGViYiIiIiIiMijKJSSTM3VFZYvhxkzwNER1q2DatWsc0+JiIiIiIiISMalUEoyPZMJ+vWDXbugRAkIDYUXXoDp0zWcT0RERERERCSjUiglWUb16vDnn9YhfPHx8P770KEDhIcbXZmIiIiIiIiI3EuhlGQpefLA6tUwdSo4OFj/XL06HDhgdGUiIiIiIiIicjeFUpLlmEzwwQcQGAheXnDqFNStC7NmaTifiIiIiIiISEahUEqyrFq1rD2kfH0hLg769oUuXSAy0ujKREREREREREShlGRp7u7WFfn8/cHeHlasgBo14PBhoysTERERERERyd4USkmWZzLBoEGwcycULgwnTkDt2jBvnobziYiIiIiIiBhFoZRkG/XqwV9/QcuWEBMD77wDb70Ft24ZXZmIiIiIiIhI9qNQSrIVDw9Yvx7Gj7cO51u8GGrWhH/+MboyERERERERkexFoZRkO3Z2MHw4bNsGnp4QFGSdFP2bb4yuTERERERERCT7UCgl2VbDhnDwIDRvDrdvQ7du0KOH9c8iIiIiIiIi8nQplJJs7dlnYeNG+PRT64ToCxZYJ0E/dszoykRERERERESyNoVSku3Z28OoUbB1K+TPD0eOQI0asGyZ0ZWJiIiIiIiIZF0KpUT+T5Mm1uF8L75oXZGva1fo3du6Up+IiIiIiIiIpC2FUiJ3KVAAtmyx9pwymWDOHKhbF4KDja5MREREREREJGtRKCVyD3t7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4sXg4mIdxlelinVYn4iIiIiIiEhqKJQSkSf2+uvwxx9QvjxcugRNmsDYsZCUZHRlIiIiIiIiktEplBKR/6R8edi3D956yxpG+fnByy9DWJjRlYmIiIiIiEhGplBKRP6znDlh0SJYsMA6tG/zZuvqfIGBRlcmIiIiIiIiGZVCKRFJM927W3tNlSkD589D48YwcaKG84mIiIiIiMj9FEqJSJqqWBH274cuXSAxEYYNg9at4do1oysTERERERGRjEShlIikuVy5YMkSmD0bnJxgwwaoVg327DG6MhEREREREckoFEqJyFNhMkGvXtYgqmRJOHMGGjSAL74Ai8Xo6kRERERERMRoCqVE5KmqUgX+/BM6dICEBBg4ENq1gxs3jK5MREREREREjKRQSkSeOldX+O47+OorcHSEtWutw/n27ze6MhERERERETGKQikRSRcmE7z7LuzaBcWLQ2govPCCNajScD4REREREZHsR6GUiKSr6tXhwAFo2xbi4qB/f3jtNQgPN7oyERERERERSU8KpUQk3eXJA6tXWyc9N5vh+++tYdVffxldmYiIiIiIiKQXhVIiYgiTCQYMgMBAKFoUTp2CunVh1iwN5xMREREREckOFEqJiKFq17b2kPL1hdhY6NsXunaFyEijKxMREREREZGnSaGUiBjO3R3WrYNJk8DeHpYvhxo14O+/ja5MREREREREnpZMFUpduHCBXbt2EZmGXSiexjVF5PGZTDB4MAQEQKFCcOIE1KoFCxZoOJ+IiIiIiEhWZEgotW7dOkqUKIHZbKZ27doEBQU9ss3kyZOpUKECffr0oXDhwgQEBNiOBQQEUK5cOTw8PJgyZUqydnPmzMHT0xMHBwe8vb25ePFiqq4pIsZ44QU4eBBeegliYqBHD+jWDW7dMroyERERERERSUvpHkqdOnWK7t27M2HCBM6fP4+Xlxc9e/ZMsc2JEyeYNGkSR48e5fDhwwwePJjRo0cDEBYWRuvWrencuTO7d+9m6dKlbN++HYDAwEBGjRrF4sWLCQkJISYmhsGDBz/ymiJiLA8P2LABxo0DOzv49ltrr6mjR42uTERERERERNJKuodSQUFBjBs3jo4dO5I/f3769u3L/v37U2yTkJDA3Llz8fT0BOD555/nxo0bACxduhRPT09GjRpFqVKlGD16NPPnzwfg+PHjzJw5k2bNmlG4cGG6d+9uu1dK13yQ2NhYIiIikm0i8vTY2cGIEbBtG3h6WgOpmjWtAZWIiIiIiIhkfub0vqGPj0+y/ePHj1OyZMkU25QvX57y5csDEBUVxfTp02nXrh0Ahw4dokmTJphMJgBq1arFiBEjAOjRo8dD75XSNR9k/PjxfPLJJ6l9myKSRho1sq7O9/rrsHUrvPUW7NwJ06dDjhxGVyciIiIiIiJPytCJzuPi4vD396dfv36pOv/nn3/G09OTS5cuMXLkSAAiIiIoXry47RxXV1fOnz9/X9tr164xe/bs++71oGs+yIgRIwgPD7dtZ8+eTVXNIvLf5c8PmzbBJ59YJ0SfPx9q14bjx42uTERERERERJ6UoaGUn58fuXLlolevXqk639vbm40bN2I2mxk6dCgAZrMZJycn2znOzs7cvn37vrb9+vWjXr16tGrV6pHXfBAnJydcXV2TbSKSfuztYfRo2LIFnn0W/v4batSA5cuNrkxERERERESehGGh1JYtW5g1axbLli3DwcEhVW3MZjP169fnyy+/ZOHChQC4u7sTFhZmOycyMhJHR8dk7RYsWMDOnTtZsGBBqq4pIhlX06bW1fkaN4aoKOjSBfr2ta7UJyIiIiIiIpmHIaHUv//+S9euXZk5c6ZtXqeULFu2jMmTJ9v2zWYz9vb2ANSsWZM9e/bYjh08eJBChQrZ9vft28eAAQNYsWIF+fPnT9U1RSRj8/S09pjy87MO55s1C+rWheBgoysTERERERGR1Er3UCo6OhofHx9eeeUV2rRpQ1RUFFFRUVgsFiIiIoiPj7+vTdmyZRkzZgxr1qwhNDSUjz/+mA4dOgDQunVrAgMD2b59OwkJCfj7+9OiRQsALl++jK+vL8OGDaN69eq2ez3qmiKS8ZnN8L//wcaN4OFh7T1VrRqsWmV0ZSIiIiIiIpIa6R5Kbd68maCgIObOnUvu3Llt2+nTp6lcuTIbNmy4r021atWYOXMmAwcOpGrVqnh5eTFlyhQAPDw8mDx5Mi1atMDT05MjR47g5+cHwPLly7ly5Qp+fn7J7vWoa4pI5tGihTWQql8fIiOhQwfo3x9iY42uTERERERERFJislgsFqOLSAvBwcEEBQXRqFGjdJmEPCIiAjc3N8LDwzXpuUgGkJBgHc73+efW/Ro1YOVKuGtxThGR/0zf/09Gn5uIiEj2ktrvfkNX30tLJUuWxNfXVw86ItmU2QwTJsD69eDuDvv3W4fzrV1rdGUiIiIiIiLyIFkmlBIRAWjVCv76C+rUgZs3oW1bGDgQ4uKMrkxERERERETuplBKRLKcokUhIMAaRgF88QU0bAhnzhhbl4iIiIiIiPx/CqVEJEtydITJk63D9/Lkgb17oWpVeMBaCiIiIiIiImIAhVIikqW1aQMHDkDNmnD9Ovj4wLBhEB9vdGUiIiIiIiLZm0IpEcnyiheH336D/v2t+xMnQpMmcP68sXWJiIiIiIhkZwqlRCRbcHKCL7+E778HV1cIDIQqVWDzZqMrExERERERyZ4USolItvLqq/Dnn9ZA6upVeOkl8PODhASjKxMREREREcleFEqJSLZTsiTs3g19+1r3x46FZs3g4kVj6xIREREREclOFEqJSLbk7Axffw3Ll0OuXBAQYO099euvRlcmIiIiIiKSPSiUEpFsrVMn2L8fKlWCK1egeXP45BNITDS6MhERERERkaxNoZSIZHtlysDevdCzJ1gsMGaMda6py5eNrkxEsprt27eTmJhIUlKS7bXQ0FBiY2OJjY2lWrVqBlYnIiIikr4USomIADlywNy58O234OICW7dah/MFBBhdmYhkJT179uTvv/+mevXqREVFYbFY6NSpE6tXr8bBwYFEddMUERGRbEShlIjIXd54A/74A8qXh0uXoEkTGDcO7urUICLyxHLmzMnzzz9PjRo1aNeuHUuWLKFw4cJ06dIFOzs77O3tjS5RREREJN0olBIRuUf58rBvH7z5pjWMGjkSWrWCq1eNrkxEMjtnZ2dMJhNz5syhf//+tG/fng4dOvDJJ58AYLFYDK5QREREJP0olBIReYCcOeGbb2DBAutKfZs2WYfz/f670ZWJSFYwcOBAKlasyNatW3njjTfImzev0SWJiIiIpDuFUiIiKeje3dprqkwZOH8eGjWCSZM0nE9EHt/ff/9NeHg4AO7u7rRp04ZixYoxfPhwvLy8+Pfff4mPjyckJIQjR44YXK2IiIjI02c2ugARkYyuUiXrPFN9+sCyZTB0KPz2GyxZAq6uRlcnIpnB1atXqVGjBrlz52bixIn07NmT2NhYevfuzTvvvEPXrl1xcHAgKiqKatWqERsby+3bt40uW0REROSpeuKeUklJSfTs2TPZa+PGjWP58uX/uSgRkYwmd25rCDVr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9WqjqxIRERERkaxEoZSIiDxQsWKwaxe0bAnR0fDqqzBuHFgsRlcmIiIiIiJZgUIpERF5KFdX+PFHeP996/7IkfDWWxAba2xdIiIiIiKS+SmUEhGRFJnNMG0afP012NvD4sXQtCmEhRldmYiIiIiIZGYKpUREJFX69oWNG8HNDX7/HWrXhqNHja5KREREREQyK4VSIiKSas2bw+7dUKIEhIRA3bqwebPRVYmIiIiISGakUEpERB5LuXKwdy80aAAREfDyy/DVV0ZXJSIiIiIimY1CKREReWweHrBlC3TrBklJ0L8/vPceJCQYXZmIiIiIiGQWCqVEROSJODnBggXw+edgMsGMGdCqFYSHG12ZiIiIiIhkBgqlRETkiZlMMHQorF4NLi7wyy/Weab+/dfoykREREREJKNTKCUiIv9Z27bw229QsCAEBVlX5gsMNLoqERERERHJyBRKiYhImqhWDfbtg+rV4epVaNoUvv3W6KpERERERCSjUiglIiJpplAh2LkT2reHuDh46y346CPrZOgiIiIiIiJ3UyglIiJpysUFVq60hlEA48dDhw5w65axdYmIiIiISMaiUEpERNKcnR2MHQvffAMODvDDD9CoEVy4YHRlIiIiIiKSUSiUEhGRp+bNN2HbNvDwgD//hFq14MABo6sSEREREZGMQKGUiIg8VfXrw969UK4cnD8PDRrAmjVGVyUiIiIiIkZTKCUiIk9diRKwezd4e8Pt29CuHXz+OVgsRlcmIiIiIiJGUSglIiLpws0NNmyA996z7g8fDt27Q2yssXWJiIiIiIgxFEqJiEi6MZth+nTrZmdnnQi9eXO4etXoykREREREJL0plBIRkXT33nvWXlOurvDbb1C7NgQFGV2ViIiIiIikJ4VSIiJiiJdess4zVbw4/Psv1K0LW7YYXZWIiIiIiKQXhVIiImKY8uWtK/O98AKEh0PLljBzptFViYiIiIhIelAoJSIihsqXD379Fd58ExIToV8/eP99SEgwujIREREREXmaFEqJiIjhnJxg0SIYN866P306tG4NERGGliUiIiIiIk+RQikREckQTCYYMQK+/x5y5ICNG6FePQgJMboyERERERF5GhRKiYhIhvLqq7BzJ3h6wj//WFfm27XL6KpERERERCStKZQSEZEMp0YN2LcPqlaFsDB48UVYutToqkREREREJC0plBIRkQypcGH47Td45RWIi4PXX4dRoyApyejKREREREQkLSiUEhGRDCtnTli9GoYNs+5/9hl06gS3bxtbl4iIiIiI/HcKpUREJEOzs4MJE2DhQnBwsE6E3rgxXLxodGUiIiIiIvJfKJQSEZFMoVs32LoV3N3hjz+gVi04eNDoqkSMc+TIEWrWrEnevHkZMmQIFovlkW0CAgIoV64cHh4eTJkyxfa6xWJh4sSJlCpVCg8PD959911u3bplOz5p0iTy58+Pq6sr7du359q1a0/lPYmIiEj2olBKREQyjYYNrROgly0L585B/fqwbp3RVYmkv9jYWHx9falevTr79+/n6NGjLFq0KMU2YWFhtG7dms6dO7N7926WLl3K9u3bAZg/fz5ffvklS5cu5ffff2ffvn306dMHgJ07d/LNN9+wc+dODhw4QExMDIMGDXrab1FERESyAYVSIiKSqTz3HOzeDc2bw61b0LYtTJoEqegkIpJlbNy4kfDwcKZMmcJzzz3HuHHjmD9/foptli5diqenJ6NGjaJUqVKMHj3a1ubbb79lyJAh1KpVizJlyvDJJ5+w7v8S33379vHyyy9TpkwZSpYsSefOnTlx4sRTf48iIiKS9SmUEhGRTCdPHtiwAfr0sYZRQ4dCz57WVfpEsoNDhw5Rp04dXFxcAKhcuTJHjx59ZJsmTZpgMpkAqFWrFgcOHADg6tWrFC1a1Hauvb099vb2AFSsWJEffviBU6dOceXKFebPn0/z5s1TvFdsbCwRERHJNhEREZF7KZQSEZFMycEBvv4apk2zToa+YAF4e4OmupHsICIiguLFi9v2TSYT9vb23LhxI9VtXF1dOX/+PABVqlRh7dq1tmMLFy7E29sbgJdeeolSpUpRsmRJ8ufPz61btxg+fHiK9Y0fPx43NzfbVqRIkSd5myIiIpLFZapQ6sKFC+zatYvIyEijSxERkQzAZIL334f16yF3bggIgDp14PhxoysTebrMZjNOTk7JXnN2dub27dupbnP3+ePGjWPfvn00aNCA559/nu+++4733nsPgJUrV3L69GmOHTvGtWvXqFixIq+//nqK9Y0YMYLw8HDbdvbs2Sd9qyIiIpKFGRJKrVu3jhIlSmA2m6lduzZBQUGPbDN58mQqVKhAnz59KFy4MAEBAbZjD1tJBmDOnDl4enri4OCAt7c3F+9ZQzw4OBh3d/e0eWMiImKIli1h1y7w8oLgYGsw9euvRlcl8vS4u7sTFhaW7LXIyEgcHR1T3ebu84sVK8bRo0eZM2cORYsWpXnz5jRo0ACA5cuX07dvX8qUKYO7uztTp07lhx9+4ObNmw+9l5OTE66ursk2ERERkXuleyh16tQpunfvzoQJEzh//jxeXl707NkzxTYnTpxg0qRJHD16lMOHDzN48GBGjx4NpLySTGBgIKNGjWLx4sWEhIQQExPD4MGDbdcNCQmhVatWKXZ1FxGRzKFiRevKfPXqwc2b0KIFzJ5tdFUiT0fNmjXZs2ePbT80NJTY2NgUf2i7t83BgwcpVKiQbd9kMuHq6srWrVuZMGGC7fWEhAQuX75s27/zA19iYmKavBcRERHJvtI9lAoKCmLcuHF07NiR/Pnz07dvX/bv359im4SEBObOnYunpycAzz//vC1ISmklmePHjzNz5kyaNWtG4cKF6d69e7J7tWrV6pGBmIiIZB7PPmvtIdW1KyQmWidC//BD659FspKGDRsSHh7Ot99+C8CECRNo1qwZ9vb2REREEB8ff1+b1q1bExgYyPbt20lISMDf358WLVokO+ezzz6jQ4cOVKtWzfbaCy+8wJw5c5g1axbffPMNnTp1om7dujzzzDNP902KiIhIlmdO7xv6+Pgk2z9+/DglS5ZMsU358uUpX748AFFRUUyfPp127doBD15JZsSIEQD06NEjxXutX78eOzs7hg4d+si6Y2NjiY2Nte1rFRkRkYzJ2RkWL4ayZWHUKJg6FU6ehOXLrfNOiWQFZrOZOXPm0KVLF4YMGUJiYqJtaoPKlSszdepUXnnllWRtPDw8mDx5Mi1atMDNzY2cOXPafsgD65QGy5Yt48iRI8naDRgwgAsXLvC///2Pq1evUrdu3WTtRERERJ6UyWKxWIy6eVxcHOXLl+fDDz/k3XfffeT5P//8M6+99hrFihXjwIEDODg40L59e+rUqcOQIUMAuHXrFgULFiQ8PDxZ22vXrlGyZEmWLFlCq1atbK+HhoZSvHhxHvUxjBkzhk8++eS+18PDwzVPgohIBrVyJbz1FsTEQKVK8NNP1nmnRJ5UREQEbm5uGeb7//z58+zfv5969eqRL1++VLUJDg4mKCiIRo0apdt7yGifm4iIiDxdqf3uN3T1PT8/P3LlykWvXr1Sdb63tzcbN27EbDbbejeltJLM3fr160e9evWSBVKPQ6vIiIhkPh07WlfkK1AA/v4batWCu6bUEcn0ChUqRJs2bVIdSAGULFkSX19fhUMiIiJiOMNCqS1btjBr1iyWLVuGg4NDqtqYzWbq16/Pl19+ycKFC4GUV5K5Y8GCBezcuZMFCxY8cb1aRUZEJHOqVcs6Afrzz8OVK9C4sXUon4iIiIiIGMuQUOrff/+la9euzJw50zZXVEqWLVvG5MmTbftmsxl7e3vg0SvJ7Nu3jwEDBrBixQry58+fhu9CREQyiyJFIDAQWreG2Fjo0gXGjAHjBrCLiIiIiEi6h1LR0dH4+Pjwyiuv0KZNG6KiooiKisJisTx0tZiyZcsyZswY1qxZQ2hoKB9//DEdOnQAUl5J5vLly/j6+jJs2DCqV69uu5eIiGQ/uXLBDz/A4MHW/U8+sYZT0dHG1iUiIiIikl2leyi1efNmgoKCmDt3Lrlz57Ztp0+fpnLlymzYsOG+NtWqVWPmzJkMHDiQqlWr4uXlxZQpU4DkK8l4enpy5MgR/Pz8AFi+fDlXrlzBz88v2b1ERCR7sreHSZNg3jwwm2HFCnjxRbh0yejKRERERESyH0NX30tL6b2SjFaRERHJ3HbsgPbt4fp16/C+9euhcmWjq5KMTt//T0afm4iISPaSKVbfS0taSUZERB5H48bWlfhKl4azZ6FePfjpJ6OrEhERERHJPrJMKCUiIvK4SpWyBlNNmsCtW9CmDUyZognQRURERETSg0IpERHJ1vLmhU2boFcvaxg1aBD07g0PWHdDRERERETSkEIpERHJ9hwcYNYsay8pkwnmzoWXXrLONyUiIiIiIk+HQikRERGsYdSHH8KPP0KuXLBtG9SpAydOGF2ZiIiIiEjWpFBKRETkLj4+8PvvULQonDxpDaa2bze6KhERERGRrEehlIiIyD0qV4a9e6F2bbhxA7y9Yd48o6sSEREREclaFEqJiIg8QIEC1h5SnTpBQgK88w4MHgyJiUZXJiIiIiKSNSiUEhEReYgcOWDZMhgzxro/eTK0bQtRUYaWJSIiIiKSJSiUEhERSYHJBB9/DMuXg5MT/PQT1K8PZ84YXZmIiIiISOamUEpERCQVOnWCHTvg2Wfh0CGoVcs675SIiIiIiDwZhVIiIiKpVKcO7NsHlSrB5cvQuDGsXGl0VSIiIiIimZNCKRERkcfg5QW//w6tWkFMDLz2Gvzvf2CxGF2ZiIiIiEjmolBKRETkMeXODevWwcCB1v3Ro+H1160hlYiIiIiIpI5CKRERkSdgb29djW/OHDCbrav0NWliHdYnIiIiIiKPplBKRETkP3jnHdi8GfLkgd27rROg//230VWJiIiIiGR8CqVERET+oyZNYM8eKFkSzpyBevXg55+NrkpEREREJGNTKCUiIpIGypSxBlONG0NUFPj6wrRpmgBdRERERORhFEqJiIikkWeesQ7l69EDkpJgwADo1w/i442uTEREREQk41EoJSIikoYcHWHuXPD3B5MJZs2Cli3hxg2jKxMRERERyVgUSomIiKQxkwkGDYK1ayFnTvj1V6hbF4KDja5MRERERCTjUCglIiLylLRuDYGBULgwHD8OtWtDQIDRVYmIiIiIZAwKpURERJ6iKlVg3z6oWROuX4fmzWHhQqOrEhERERExnkIpERGRp8zT09pDqmNH66Tnb78Nw4ZZJ0MXEREREcmuFEqJiIikgxw5YPlyGD3auj9xIrRrB1FRxtYlIiIiImIUhVIiIiLpxM4OPvkEliyxrtK3bh00aADnzhldmYiIiIhI+lMoJSIiks66doXt2yFfPjh4EGrVgv37ja5KRERERCR9KZQSERExQL161gnQK1SAixehYUNYtcroqkRERERE0o9CKREREYMUKwa7dkHLlhAdDR06wNixYLEYXZmIiIiIyNOnUEpERMRArq7w44/wwQfWfT8/ePNNiI01ti4RERERkadNoZSIiIjBzGaYOhVmzgR7e+tE6E2bQliY0ZWJiIiIiDw9CqVEREQyiD59YONGcHOD33+H2rXhn3+MrkpERERE5OlQKCUiIpKBNG8Oe/bAc89BSIh1QvRNm4yuSkREREQk7SmUEhERyWDKloW9e60r8kVEQKtW8NVXRlclIiIiIpK2FEqJiIhkQM88A1u2QPfukJQE/fvDu+9CQoLRlYmIiIiIpA2FUiIiIhmUoyPMnw+ffw4mE3z9tbXX1M2bRlcmIiIiIvLfKZQSERHJwEwmGDoUVq8GFxf45RfrPFP//mt0ZSIiIiIi/41CKRERkUygbVsIDIRChSAoCGrVgt9+M7oqEREREZEnp1BKREQkk6haFfbtg+rV4do1aNoUvvnG6KpERERERJ6MQikREZFMpGBB2LkTXn0V4uOh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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1500x300 with 5 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABa4AAAExCAYAAACUHDWOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAqaUlEQVR4nO3de5iWdZ0/8M/IwAwCykFZBJfDoqnrIUwTpDUlPB+QMjWvymArxVaN0tXFxUNqpuFpFatVyQN4glat3Ao8gY5uhWm1pm2rZB4QwUMiZxju3x9ezE8WfL6PzMMz32d8va6r69qd+z3f+zMFH4b388xNXVEURQAAAAAAQCa2aOsBAAAAAADgvRTXAAAAAABkRXENAAAAAEBWFNcAAAAAAGRFcQ0AAAAAQFYU1wAAAAAAZEVxDQAAAABAVhTXAAAAAABkRXHNRq1YsSLefPPNth4DYKPsKCBndhSQMzsKyJkdxXvVt/UAbLqlS5fG6tWro6GhIerq6ta7tnLlyujQoUN07do1mpub4+ijj47DDz88vva1r8Wbb74Z8+fP3+C8nXfeOerr3/0lMW3atDj33HPj1VdfrcrXArQ/dhSQMzsKyJkdBeTMjqJaFNc1YMSIEfHb3/42OnXq1LIQhg8fHh/96EfjkksuiYaGhli1alWsWbMmunbtGhHvvkJ10kknxTXXXBMdOnSIAw88MMaPHx+/+c1vYtiwYXHaaadFnz59IiJizZo18corr8Qbb7wRPXv2jIiIhoaGaGho2Cxfz5QpU2Lq1Kkxe/bszXI+UF12FJAzOwrImR0F5MyOoq3VFUVRtPUQlDZ//vxYu3ZtNDQ0xJw5c2LMmDHxox/9KA499NCWzJlnnhnPPfdc3Hvvve97zmOPPRZLly6N1157LaZMmdLyG/WFF16IQYMGxTvvvBMjR46MY489Nvr06RMTJ06MF154oaJfS1NTUxx00EExdOhQiwLaCTsKyJkdBeTMjgJyZkfR1jzjugb07ds3br311pg2bVqceuqpMW3atPWWRETEn/70pxgyZMj7nlEURXziE5+Igw8+uOVVsmeffTY+/elPx4IFC1pyjY2Nm+2Vrfvuuy8OO+yw2GWXXTbL+UDbsKOAnNlRQM7sKCBndhRtTXFdIz71qU/FpZdeGh/5yEdi9OjRLR9vaGiITp06xaxZs+LSSy+NxsbG6NSpU3Tq1KklM3PmzBg6dGj85S9/We/Moig2eEWsrq5ug+cTVcqcOXNi+vTpMWrUqM1yPtB27CggZ3YUkDM7CsiZHUVbUlxnriiKWLZsWQwdOjQeffTR2HfffWPt2rUt1xsbG2PWrFmxdOnSePTRR2PRokUxa9as6Ny5c0tm7733ju7du8c+++wTTz31VMvHO3bsGBER3bp1K3ueCy64ILp3775JX8tll10Whx122CZ9LpAnOwrImR0F5MyOAnJmR5EDxXXmXnvttejSpUvU19fHzjvvHJMmTWp5KP4tt9zS8pv9r3/9a+yzzz7x+9//PiL+/xKIiOjVq1f853/+Zxx77LHRr1+/De7R2NhY9jwnnXTSJj8LaIst/HKD9saOAnJmRwE5s6OAnNlR5MD/cpn7m7/5m1ixYkU0NzfH6aefHv/4j/8YL7/8ckREHHDAAS255cuXR0TEjjvuuNFzOnbsGFdddVVsu+22La+QLVq0KLp27RodOnSIiHdfTUvp27dvyWcXAR8udhSQMzsKyJkdBeTMjiIHiuvM1dXVbfBw+oULF8aJJ54YAwYMaPnY22+/HfX19bHtttu+71m33HJLHHroobFixYqIiHjllVfWe8Vr5cqVFZ4eaO/sKCBndhSQMzsKyJkdRQ4U1zVojz32iFtuuSUiouXVqmeeeSYGDx7c8iD71atXb/B51113XfTs2TN22223OP744+ORRx6J/v37R48ePeKiiy6KxsbGaG5ujlWrVlXviwHaHTsKyJkdBeTMjgJyZkdRbfVtPQCts+5VqXvvvTf23Xfflo+vexVrnccffzx+97vfxa233hq77757DBs2LAYPHhzjxo2L6dOnx8SJEyPi3ecLrftRDYDWsqOAnNlRQM7sKCBndhTVoLiucTNmzIglS5bE9OnT46GHHoo777wz9t9//5aH4q9z/vnnx6hRo2L33XePiIjbbrstXnrppdh5553juOOOi8WLF8cZZ5wR999/f0RETJs2baP3mz9/fixcuNBzhYCy2FFAzuwoIGd2FJAzO4pq8KiQGrBs2bJ4++2345VXXoktt9xyvWvNzc1x4oknxsSJE2P48OHR1NQUH//4x9dbFHfddVc88MADceaZZ0ZExBtvvBETJ06Mr371q3H00UfHlVdeGRMmTFjvc97vxzOuv/769R7CD2BHATmzo4Cc2VFAzuwo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iLPOOqvlY3vvvXd87GMfi6eeeqrV5wP5qMUd1bt3740+y/qtt96KLl26tPp8IB+1uKPOPffc6NatW5xzzjmtPgvIWy3uqPcaP358vPrqq/Gzn/3MOxyhHar1HUXt8Ssgc0VRxLJly9Z7jtD7PRP6/77yte5fcH7sscdixIgRyXtt7MdO586dG3vvvfcHG3ojunTpEg0NDRu8OtbY2LjRh/cDtaG97Khhw4bFkiVL4ve//33sscceERHx7LPPxrJly7yqDzWsveyoH/3oR/GXv/xlg3uMHTs2xo4d2/JcSaC2tJcdtc6tt94a119/fdxxxx0xePDgip0LtI32tqOoTXWF73SztmDBgthuu+026XN33XXXePrpp2PFihXx+uuvR+fOnTf4Ufg77rgjzjzzzHjiiSeiZ8+eLSXyypUrY8WKFdGnT5+KFMv/9V//FcOHD48//vGPsdNOO0VExNtvvx2DBg2Kf/7nf44JEya0+h5A9bWXHRURsdtuu8Uee+zR8jzGcePGxfTp02PhwoVe6Yca1V521DPPPBOrVq1a72OHH354jBs3LkaNGuXxIVCj2suOioiYM2dOHHzwwTFu3Lj4t3/7t4qcCbSt9rSj1rngggti9uzZMXv27Iqey+ajuM5cc3NzvPDCC9HY2Njym/zBBx+MVatWxWGHHdaSu/POO6NLly5x8MEHR8eOHaO5uTmKooj+/fu/79k33nhjnHrqqTF58uRYunRpXHHFFfGtb30rvvSlL73vj3XNnz8/Fi5cuEl/Qdp///3jzTffjIsvvjg6deoUl156afzhD3+IZ555Jnr37v2BzwPaXnvaUffdd18cffTRccABB0RDQ0P8/Oc/j6uuuirGjx//gc8C8tCedtT/NXDgwLjgggtizJgxrT4LaBvtZUe9+eabscsuu0TXrl3jtttuW+8F/5122mmTn4kLtK32sqPeS3Fdgwpqwtq1a4tf/OIXxYEHHljU19cXX/rSl4oVK1YURVEUzc3NxcSJE4t+/foVW221VXH66acX8+bN2+g5b775ZjFlypRir732KrbccstiypQpRVEUxSuvvFKcccYZRWNjY7HbbrsVP/3pTzf6+eeff36x9dZbb9LX8Pbbbxennnpq0a9fv6Jz587FsGHDirlz527SWUBe2sOOKoqimDNnTnHQQQcVQ4cObbk3UPvay456rwED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vXqVvF7O9yXf//73k5kP6/cl99xzTzIzf/78ktcHDRqUPGPYsGHJTLdu3ZKZd955J5mBarr33ntLXh89enTyjAULFiQzN954YzJTzvclS5YsSWaq5fTTT09mrrrqqipMArChefPmtfUIlME7rgEAAAAAyIriGgAAAACArCiuAQAAAADIiuIaAAAAAICsKK4BAAAAAMiK4hoAAAAAgKworgEAAAAAyEp9Ww/Auzp06JDMHHHEEVWYJOLSSy9NZubMmVOFSYCUL3/5y8lMv379Wn2fs846K5n5wx/+kMzMnz+/1bOUY/Xq1cnMzTffnMwMHDgwmTn33HOTmW222abk9T333DN5xh//+MdkBqpp8uTJyczee+/d6vvceuutycxpp53W6vvQOjvssEMyc8wxxyQz5exmqJTbb789mZk6dWrJ6//6r/+aPGPFihXJzAsvvJDM1Jpf//rXbT1Ci6VLlyYzr7/+ehUmAVrrE5/4RDJTV1eXzEyaNKkS47CZecc1AAAAAABZUVwDAAAAAJAVxTUAAAAAAFlRXAMAAAAAkBXFNQAAAAAAWVFcAwAAAACQFcU1AAAAAABZUVwDAAAAAJCV+rYegHd94QtfSGZGjRpVkXutXr265PWZM2dW5D7A5vfYY49V5T6/+tWvkpmmpqYqTFJdl112WTKz3377JTMHHHBAyevXXntt8oy5c+cmM88991wyA+X42Mc+lswceeSRFbnXm2++WfL65MmTK3IfgP/rrbfeavUZixcvrsAkeenYsWMyc8kllyQzxx57bCXGqYizzz47mZkxY0YVJgFaa8iQIclMURTJzLx58yowDZubd1wDAAAAAJAVxTUAAAAAAFlRXAMAAAAAkBXFNQAAAAAAWVFcAwAAAACQFcU1AAAAAABZUVwDAAAAAJAVxTUAAAAAAFmpb+sBeNfAgQOrdq8vfvGLJa83NTVVaRKgtV566aW2HqFdW758eTIzadKkZOaAAw4oeb1Hjx7JM04//fSKZGCvvfZKZh588MFkZquttqrEOHHKKaeUvP7kk09W5D68v9T3foMGDarIfS655JJk5uabb67IvYCNGzFiRDLzjW98I5k54ogjKjFORcybNy+Zueeee6owCdBaO+20UzLzzW9+M5mZMWNGJcYhA95xDQAAAABAVhTXAAAAAABkRXENAAAAAEBWFNcAAAAAAGRF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H1ypcagB5ewo77gGAAAAACArimsAAAAAALKiuAYAAAAAICuKawAAAAAAsqK4BgAAAAAgK4prAAAAAACyorgGAAAAACArimsAAAAAALJSVxRFUVawrm5zz/KhtsUW6dcQhg0blszcddddyUzfvn3LmqmUGTNmJDP33HNPMlPOvGxeZa6A7NlRm9cnP/nJZOY//uM/kpmePXu2epa33normXnttdeSmd/97nfJzOGHH57MdOvWrdXzjB49OnnGr3/962SmPbKjoO316dMnmamvr09mXn755UqMkxU7qrYdeeSRycz48eNLXh8xYkSFpqktL730UjLzuc99Lpl59tlnKzFO0jvvvJPMrF27tgqTVJcdRTXNnDmz1WcccsghFZiEWlHOjvKOawAAAAAAsqK4BgAAAAAgK4prAAAAAACyorgGAAAAACArimsAAAAAALKiuAYAAAAAICuKawAAAAAAsqK4BgAAAAAgK3VFURRlBevqNvcsQBsocwVkz45qe//wD/+QzPzkJz9JZrbeeutWz1LOr4dK/dpftGhRMnPkkUeWvP7EE09UZJb2yI4CcmZHtX9du3Ytef2oo45KnjFw4MBk5uKLLy53pJKuv/76ktcfeeSRitxn3rx5ycyvfvWrityLTWdHUU0zZ85MZpYvX17y+ujRoys0DbWgnB3lHdcAAAAAAGRFcQ0AAAAAQFYU1wAAAAAAZEVxDQAAAABAVhTXAAAAAABkRXENAAAAAEBWFNcAAAAAAGRFcQ0AAAAAQFbqiqIoygrW1W3uWYA2UOYKyJ4dVRu23HLLZObrX/96yevnn39+8oxOnTolM+X82p86dWoyc8oppyQzy5cvT2bYODsKyJkdBeTMjqKaZs6cmcxMmzat5PVy/v5F+1HOjvKOawAAAAAAsqK4BgAAAAAgK4prAAAAAACyorgGAAAAACArimsAAAAAALKiuAYAAAAAICuKawAAAAAAsqK4BgAAAAAgK3VFURRlBevqNvcsQBsocwVkz46C9smOAnJmRwE5s6OAnJWzo7zjGgAAAACArCiuAQAAAADIiuIaAAAAAICsKK4BAAAAAMiK4hoAAAAAgKworgEAAAAAyIriGgAAAACArCiuAQAAAADIiuIaAAAAAICsKK4BAAAAAMiK4hoAAAAAgKworgEAAAAAyIriGgAAAACArCiuAQAAAADIiuIaAAAAAICsKK4BAAAAAMiK4hoAAAAAgKworgEAAAAAyIriGgAAAACArCiuAQAAAADIiuIaAAAAAICsKK4BAAAAAMiK4hoAAAAAgKworgEAAAAAyIriGgAAAACArNQVRVG09RAAAAAAALCOd1wDAAAAAJAVxTUAAAAAAFlRXAMAAAAAkBXFNQAAAAAAWVFcAwAAAACQFcU1AAAAAABZUVwDAAAAAJAVxTUAAAAAAFlRXAMAAAAAkJX/ByrfuMlr/vUrAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 1
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
